<?php

    Class JugadoresDAO
    {

        private static function getInstance($rs)
        {
            $jugador = new Jugador();

            $jugador->idJugador         = $rs->fields["idjugador"];
            $jugador->estatura          = $rs->fields["estatura"];
            $jugador->nombre            = $rs->fields["nombre"];
            $jugador->apellidoPaterno   = $rs->fields["apellidopaterno"];
            $jugador->apellidoMaterno   = $rs->fields["apellidomaterno"];
            $jugador->fechaNacimiento   = $rs->fields["fechanacimiento"];
            $jugador->idEquipo          = $rs->fields["idequipo"];
            $jugador->fechaInscripcion  = $rs->fields["fechainscripcion"];
            $jugador->pais              = $rs->fields["pais"];

            return $jugador;
        }

        static function add(&$jugador)
        {
            $db = MyConnection::$db;
            
            $query = $db->Prepare("INSERT INTO jugadores (estatura, nombre, apellidopaterno, apellidomaterno, fechanacimiento, idequipo, fechainscripcion, pais) VALUES (?,?,?,?,?,?,?,?)");
            return $db->Execute($query, array($jugador->estatura, $jugador->nombre, $jugador->apellidoPaterno, $jugador->apellidoMaterno, $jugador->fechaNacimiento, $jugador->idEquipo, $jugador->fechaInscripcion, $jugador->pais)  );
        }

        static function update(&$jugador)
        {
            $db = MyConnection::$db;

            $query = $db->Prepare("UPDATE jugadores SET idequipo = ?, fechainscripcion = ? WHERE idjugador = ?");
            return $db->Execute($query, array($jugador->idEquipo, $jugador->fechaInscripcion, $jugador->idJugador));
        }

        static function getById($id)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM jugadores WHERE idjugador = $id");

            if (!$rs->EOF)
            {
                return self::getInstance($rs);
            }
        }

        static function getByIdEquipo($idEquipo)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM jugadores WHERE idequipo = $idEquipo");

            $all = array();
            while (!$rs->EOF)
            {
                $all[] = self::getInstance($rs);
                $rs->MoveNext();
            }

            return $all;
        }

        static function getExtranjeros($idEquipo)
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM jugadores WHERE idequipo = $idEquipo AND pais != 'Chile' ");

            $all = array();
            while (!$rs->EOF)
            {
                $all[] = self::getInstance($rs);
                $rs->MoveNext();
            }

            return $all;
        }

        static function getAll()
        {
            $db = MyConnection::$db;

            $rs = $db->Execute("SELECT * FROM jugadores");

            $all = array();
            while (!$rs->EOF)
            {
                $all[] = self::getInstance($rs);
                $rs->MoveNext();
            }

            return $all;
        }
    }

?>